수년간 시스템 프로그래밍은 이분법적 갈등에 빠져 있었다: 바로 통제의 이분법. C/C++ 같은 언어에서는 완전한 통제권을 가질 수 있지만, 수동적인 관리 책임도 지게 된다. 하나의 잊힌 free() 는 치명적인 메모리 누수로 이어진다. 반대로, 자바나 고와 같은 언어들은 가비지 컬렉션(GC)를 통해 안정성을 제공하지만, 예측할 수 없는 '세상 멈춤' 일시 정지로 인해 성능을 희생한다. 이는 고빈도 거래나 실시간 시스템을 파괴할 수 있다.
세 번째 길: 소유권
러스트는 메모리 관리를 런타임 에서 컴파일러으로 옮김으로써 이 딜레마를 해결한다. 엄격한 소유권 규칙집합을 통해 컴파일러는 모든 바이트의 생명주기를 추적한다. 당신이 $ cargo run을 실행하면, 빌림 검사기 메모리가 유효하고 유일하며 안전한지를 확인한다. 백그라운드 수집기나 수동 해제 없이도 말이다.
터미널 검증
다음과 같이 사용함으로써 cargo run메모리 안정성은 컴파일 타임 보장이 된다. 만약 규칙을 위반하면 프로그램은 단순히 빌드되지 않으며, 생산 환경에 도달하기 전에 충돌을 방지할 수 있다.
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>